package gui;

import entidade.Funcionario;
import gui.funcionario.PanelFuncionarioBuscar;
import gui.funcionario.PanelFuncionarioCadastro;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.Action;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;

public class TelaPrincipal extends JFrame {

	private JPanel contentPane;
	private PanelFuncionarioCadastro panelcadastro;
	private PanelFuncionarioBuscar panelConsulta;
	private JPanel panelBotoesSalvarEditar;
	private JButton salvar;
	private JButton editar;
	
	public TelaPrincipal() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 1072, 678);

		// Instanciar paneis
		panelcadastro = new PanelFuncionarioCadastro();
		panelcadastro.setBounds(0, 0, 1000, 556);
		panelcadastro.getPanelAbas().setBounds(12, 109, 952, 430);
		// panelcadastro.setLocation(0, 0);
		panelcadastro.setVisible(false);

		panelConsulta = new PanelFuncionarioBuscar();
		panelConsulta.setBounds(0, 0, 1000, 556);
		panelConsulta.setVisible(false);

		
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		JMenu mnFuncionario = new JMenu("Funcionario");
		menuBar.add(mnFuncionario);

		
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		getContentPane().add(panelcadastro);
		getContentPane().add(panelConsulta);
		
		panelBotoesSalvarEditar = new JPanel();
		panelBotoesSalvarEditar.setVisible(false);
		panelBotoesSalvarEditar.setLayout(null);
		panelBotoesSalvarEditar.setBounds(40, 551, 928, 48);
		contentPane.add(panelBotoesSalvarEditar);
		
		salvar = new JButton("Salvar");
		salvar.addActionListener(new SalvarHandler());
		salvar.setBounds(799, 12, 117, 25);
		panelBotoesSalvarEditar.add(salvar);
		
		editar = new JButton("Editar");
		editar.addActionListener(new EditarHandler());
		editar.setBounds(799, 12, 117, 25);
		panelBotoesSalvarEditar.add(editar);
		
		JMenuItem mntmNovo = new JMenuItem("Novo");
		mntmNovo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				panelcadastro.setVisible(true);
				panelBotoesSalvarEditar.setVisible(true);
				salvar.setVisible(true);
				
				editar.setVisible(false);
				panelConsulta.setVisible(false);
			}
		});
		mnFuncionario.add(mntmNovo);

		JMenuItem mntmConsulta = new JMenuItem("Consulta");
		mntmConsulta.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				panelConsulta.setVisible(true);
				panelBotoesSalvarEditar.setVisible(true);
				editar.setVisible(true);				
				
				salvar.setVisible(false);
				panelcadastro.setVisible(false);
			}
		});
		mnFuncionario.add(mntmConsulta);
		
	}
	
	private class SalvarHandler implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent e) {
			panelcadastro.salvar();
		}
		
	}
	
	private class EditarHandler implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent e) {
			
			Funcionario funcionario = panelConsulta.pegaFuncionario();
			
			panelcadastro.setTextNomeFuncionario((funcionario.getNomeFuncionario()));
			
			panelcadastro.getTextCpfFuncionario().setText(funcionario.getCpfFuncionario());
			panelcadastro.getTextSalarioFuncionario().setValue((funcionario.getSalarioFuncionario()));
			panelcadastro.getTextRgFuncionario().setText(funcionario.getRgFuncionario());
			
			//panelcadastro.getComboCargoFuncionario().setSelectedIndex(anIndex)
			panelConsulta.getPanelBuscar().setVisible(false);
			
			panelcadastro.getPanelPrincipal().setVisible(true);
			panelcadastro.getPanelPrincipal().setSize(952, 467);
			contentPane.add(panelcadastro.getPanelAbas());
			
			panelBotoesSalvarEditar.setVisible(false);
			
		}
		
	}
}
